#include	"STC8G_H_UART.h"
#include	"STC8G_H_GPIO.h"
#include	"STC8G_H_Switch.h"
#include	"STC8G_H_NVIC.h"
#include	"STC8G_H_Exti.h"
#include 	"STC8G_H_I2C.h"

//============================= 回调函数=============================
#define USE_ALARM_CALLBACK 0	//闹钟回调函数开关，若使用则一定要在main.c中定义ALARM_CALLBACK()函数
#define USE_TIMER_CALLBACK 0	//定时器回调函数开关，若使用则一定要在main.c中定义TIMER_CALLBACK()函数

void PCF8563_on_alarm(); 
void PCF8563_on_timer();
//=============================时间日期=============================
typedef struct {
	u16 year; 
	u8 month;
	u8 day;
	u8 weekday;
	u8 hour;
	u8 minute;
	u8 second;
} Clock_t;

void PCF8563_Init();// 时钟初始化，要在I2C屏幕初始化的前面调用！
void PCF8563_Set_Clock(Clock_t temp);// 设置时间
void PCF8563_Get_Clock(Clock_t *temp);// 获取时间
//=============================闹钟=============================
typedef struct {
	char day;	
	char weekday;
	char hour;
	char minute;
} Alarm_t;

void PCF8563_Set_Alarm(Alarm_t alarm);// 设置闹钟
void PCF8563_Enable_Alarm();// 启用闹钟
void PCF8563_Disable_Alarm();// 禁用闹钟
void PCF8563_Alarm_Clear_Flag();// 清理闹钟标记
//=============================定时器=============================
typedef enum { HZ4096 = 0, HZ64 = 1, HZ1 = 2, HZ1_60 = 3} TimerFreq;

void PCF8563_Set_Timer(TimerFreq freq, u8 countdown);// 设置定时器，参数1：时钟频率 参数2：值，倒计时时间=参数2/参数1
void PCF8563_Enable_Timer();// 启动定时器
void PCF8563_Disable_Timer();// 禁用定时器
void PCF8563_Clear_Timer(); // 清除定时器标志位    




